package hotel.switchs.oversea.online.service;

import hotel.base.oversea.service.BaseService;
import hotel.base.oversea.utils.Result;
import hotel.switchs.oversea.api.VO.ChannelRoomStatusVo;
import hotel.switchs.oversea.api.VO.GetRoonPriceReturnVo;
import hotel.switchs.oversea.api.VO.request.BatchPushRoomVo;
import hotel.switchs.oversea.api.VO.request.GetPushRoomDataLogVo;
import hotel.switchs.oversea.api.VO.request.GetRoomPriceVo;
import hotel.switchs.oversea.api.VO.request.GetRoomRateChangeVo;

import java.util.List;
import java.util.Map;

/**
 * @Author lmf
 * @Date 2020/6/2 15:10
 **/
public interface SwitchRoomPriceService extends BaseService {

    /**
     * 获取房价接口
     */
    Result<GetRoonPriceReturnVo>  getRoomPriceDirect(GetRoomPriceVo getRoomPriceVo);

    /**
     * 获取房态接口
     * @param map
     */
    Result<List<ChannelRoomStatusVo>> getRoomStatusDirect(GetRoomPriceVo map);

    /**
     * 获取房量接口
     * @param map
     * @return
     */
    Result<Object> getRoomInventoryDirect(GetRoomPriceVo map);

    /**
     * 获取动态售卖规则接口
     * @param getRoomPriceVo true 携程 false 非携程渠道
     * @return
     */
    Result<Object> getSaleRuleDirect(GetRoomPriceVo getRoomPriceVo);


    /**
     * 获取房价房态房量变化接口
     * @param map
     * @return
     */
    Result<Object> getRoomRateChange(GetRoomRateChangeVo map);

    /**
     * 直连推送报价等数据接口
     * @param batchPushRoomVo
     * @return
     */
    Result<Map<String,String>> batchPushRoomData(BatchPushRoomVo batchPushRoomVo);

    /**
     * 获取推送数据错误日志接口
     * @param getPushRoomDataLogVo
     * @return
     */
    Result<Object> getPushRoomDataLog(GetPushRoomDataLogVo getPushRoomDataLogVo);
}
